package fr.syntheses.blog.Model.DAO.HQL;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import fr.syntheses.blog.beans.Utilisateur;

public class FicheutilisateurDaoHib {
	
	
	Logger log = Logger.getLogger(FicheutilisateurDaoHib.class);
	
	
	
	// Propeties 
	
	List<Utilisateur> listeUtilisateur = new ArrayList<Utilisateur>();
	
	
	
	/**
	 * Cette methode permet de lister les utilisateurs.
	 * @return   List<Utilisateur>
	 */
	public final List<Utilisateur> listerUtilisateur() {
		
		
		listeUtilisateur = new ArrayList<Utilisateur>();
		
		Session session = null;
		
		Query query = null;
		
		try {
		
		session = HibernateUtil.getSession();
		
		try {
			query = session.createQuery("from Utilisateur order by nom");
			Iterator utilisateurs = query.iterate();
			
			while (utilisateurs.hasNext()) {
				listeUtilisateur.add((Utilisateur) utilisateurs.next());
			}

		} finally {	}
		} catch (HibernateException e) {
			log.fatal("/* ATTENTION GRAVE ERREUR LORS DE LA CREATION DE LA SESSION FACTORY HB */");
			log.fatal(e);
		} finally {
			//HibernateUtil.closeSessionFactory();
		}
		return listeUtilisateur;

	}

}
